//正数正则
const posP = /^\d*\.?\d+$/;
//负数正则
const negP = /^-\d*\.?\d+$/;
//数字正则
const numP = /^-?\d*\.?\d+$/;
//Email正则
const mailP = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//手机号正则
const phoneP = /^1[34578]\d{9}$/;
//URL正则
const urlP = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
//ipv4地址正则
const ipv4P = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
//RGB Hex颜色正则
const rgbP = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
//日期正则，简单判定,未做月份及日期的判定
const dateP = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
//日期正则，复杂判定
const dateP1 =
	/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
//QQ号正则，5至11位
const qqP = /^[1-9][0-9]{4,10}$/;
//微信号正则，6至20位，以字母开头，字母，数字，减号，下划线
const wxP = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
//车牌号正则
const carP = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
//包含中文正则
const cnP = /[\u4E00-\u9FA5]/;
// 密码正则 最短6位，最长16位 {6,16} 可以包含小写大母 [a-z] 和大写字母 [A-Z] 可以包含数字 [0-9] 可以包含下划线 [ _ ] 和减号 [ - ]
const passP = /^[\w_-]{6,16}$/;

export default {
	posP,
	numP,
	mailP,
	phoneP,
	urlP,
	ipv4P,
	rgbP,
	dateP,
	dateP1,
	qqP,
	wxP,
	carP,
	cnP,
	passP
}